package aterrizar;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

import utils.Rango;

public class Aeropuerto {

	private Ubicacion ubicacion;
	private String
		nombre,
		ciudad,
		provincia,
		pais;
	private Collection<HorarioDeAvion> aviones;
	
	public Aeropuerto(String nombre, String ciudad, String provincia,
			String pais, Ubicacion ubicacion) {
		super();
		this.nombre = nombre;
		this.ciudad = ciudad;
		this.provincia = provincia;
		this.pais = pais;
		this.ubicacion = ubicacion;
		this.aviones = new ArrayList<HorarioDeAvion>();
	}
	
	public Ubicacion getUbicacion() {
		return ubicacion;
	}
	public String getNombre() {
		return nombre;
	}
	public String getCiudad() {
		return ciudad;
	}
	public String getProvincia() {
		return provincia;
	}
	public String getPais() {
		return pais;
	}
	
	public Collection<Avion> getAviones(Date fecha)
	{
		Collection<Avion> result = new ArrayList<Avion>();
		for (HorarioDeAvion horarioDeAvion : aviones) {
			if ( horarioDeAvion.getRangoFecha().abarca(fecha) )
				result.add(horarioDeAvion.getAvion());
		}
		return result;
	}


	public void agregarAvionDisponible(Avion avion, Rango<Date> rangoFecha) {
		HorarioDeAvion horarioDeAvion = new HorarioDeAvion(avion, rangoFecha);
		aviones.add(horarioDeAvion);
	}
}
